package com.klw.business.mapper;

import java.util.List;

import com.klw.business.domain.KlwSemester;
import com.klw.business.domain.LineXAxisData;
import com.klw.business.domain.QueryDataParam;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

/**
 * 学期Mapper接口
 *
 * @author klw
 * @date 2025-08-24
 */
public interface KlwSemesterMapper {
    /**
     * 查询学期
     *
     * @param semesterId 学期主键
     * @return 学期
     */
    public KlwSemester selectKlwSemesterBySemesterId(Long semesterId);

    /**
     * 查询学期列表
     *
     * @param klwSemester 学期
     * @return 学期集合
     */
    public List<KlwSemester> selectKlwSemesterList(KlwSemester klwSemester);

    /**
     * 新增学期
     *
     * @param klwSemester 学期
     * @return 结果
     */
    public int insertKlwSemester(KlwSemester klwSemester);

    /**
     * 修改学期
     *
     * @param klwSemester 学期
     * @return 结果
     */
    public int updateKlwSemester(KlwSemester klwSemester);

    /**
     * 删除学期
     *
     * @param semesterId 学期主键
     * @return 结果
     */
    public int deleteKlwSemesterBySemesterId(Long semesterId);

    /**
     * 批量删除学期
     *
     * @param semesterIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteKlwSemesterBySemesterIds(Long[] semesterIds);

    public List<LineXAxisData> getSemesterXAxisData(@Param("queryParam") QueryDataParam param);
}
